nvim + shell script 漂浮視窗快速筆記
雖然 mac 本身的 notes 就相當不錯
甚至在更新到 Monterey 之後也新增了隨處可用 的功能
第三方也有很多好用的軟體 Notion, hackmd 等等
但身為一名懶惰到不想把手移動到觸控板上的人來說
每次有些想法想快速紀錄一點想法
按下 Option + Space
叫出 Alfred 快速搜尋叫出 notes 或其他軟體之後的操作總覺得就是差了一點點
因此就決定自己來調整看看
所以首先要確定目標
Target: 鍵盤可以獨自完成從叫出筆記 -> 寫筆記 -> 關閉筆記這一連串動作,並繼續原本的作業
再來確認一下現況
- 目前切換 app 都是使用 Alfred 搜索進行切換
- notes 或 Notion 、hackmd 看起來後續操作都不太方便
依照以上整理,切換看起來不會是大問題,問題是目前我用過的筆記軟體純用鍵盤的操作我都不太習慣
既然這樣,那就換一款我熟的吧
nvim + lspsaga
看來是個不錯的選項
nvim 跟 tmux 的 terminal 可以提供我熟悉的文檔操作
而 lspsaga 可以提供漂亮的漂浮視窗並呼叫出 terminal
可以叫出 terminal 也就代表我們可以執行自訂的 script 來做事
那這個 script 我希望可以做到幾件事
1. 用日期為檔名建立一個新的 .md 檔案(如果檔案已存在就直接執行 2)
2. 用 nvim 打開檔案,
3. 並新增一行時間標題
4. 移動至下一行並置中
5. 開啟 insert mode
OK,那接下來就是要實作的細節
lspsaga 叫出漂浮視窗叫出 teminal 並執行 script
新增 notetaker.script 執行 新增/編輯 筆記文檔
根據 lspsaga 的文件,我們可以在設定檔內加上
1 | nnoremap <silent> nt <cmd>lua require('lspsaga.floaterm').open_float_terminal('notetaker.sh')<CR> |
這樣只要在 nvim 的 normal mode 依序按下 nt 就會跳出 terminal 並執行 notaker.sh
這個命令了
然後就是關鍵的 Script 內容
1 | #/bin/bash |
然後來執行吧
相信一定會很順利的…失敗
首先要先把 notetaker.sh
放到 /usr/local/bin
讓這個 script 可以順利在全域都可以執行
然後調整一下檔案的權限,不然也是沒辦法在跳出來的終端上執行的
chmod u+x notetaker.sh
完成之後就可以來試試看拉
按下 nt 打開檔案 -> 編輯文檔 -> Option + q
離開

用起來還不錯 d(`・∀・)b
參考資料